package com.sky.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sky.dto.GoodsSalesDTO;
import com.sky.entity.OrderDetail;
import com.sky.entity.Orders;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Mapper
public interface OrderMapper extends BaseMapper<Orders> {
    void insertBatch(List<OrderDetail> orderDetailList);

/**
 * 根据map条件获取每日营业总额
 * @param map map条件
 * @return 返回sum(amount)营业总额
 */
    Double sumByMap(Map map);

/**
 * 通过map条件 获取订单/有效订单的今日数量/总量
 *
 * @param map 条件集合
 * @return 返回数量
 */
    Integer countByMap(Map map);

/**
 * 获取指定时间范围内的销售排行榜前10名商品
 *
 * @param map 条件的map集合
 * @return 返回销售排行榜前10名的商品数据传输对象列表
 */
    List<GoodsSalesDTO> getSalesTop10(Map map);
}
